// miniprogram/pages/my_judge_upload/my_judge_upload.js
const db=wx.cloud.database()
var app=getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    judge_state:"待评价",
    box_src:"",
    box_name:"",
    textcensus:0,
    max:200,
    fileList: [],//上传文件临时存储数组
    folder:'test',//云存储中文件上传目标文件夹
    temUrlArr:[],//需要预览的图片http链接列表（云存储中fileID）
    tempImg: [],
    fileIDs: [],
    src:[],
    judge:"",
    value: 3,
    options_id:""
    

  },
  tj:function(event){
    let value=event.detail.value
    let len=parseInt(value.length)
    if(len>200)return;
    this.setData({
      textcensus:len
    })

  },
  onChange(event) {
    this.setData({
      value: event.detail
    });
  },

  // 源程序
    // afterRead(event) {
    
    //   const  file  = event.detail.file;
    //   this.data.fileList.unshift(file);
    //   // 获取更新图片临时存数组中的数据
    //   var files=this.data.fileList;
    //   var path=this.data.folder+'/'+this.data.name+Math.random().toString();
    //   this.setData({
    //     fileList:files,
    //     path
    //   }) 

    // },
  
  //添加图片事件
  afterRead(event){
      const  file  = event.detail.file;
      this.data.fileList.unshift(file);
      // 获取更新图片临时存数组中的数据
      var files=this.data.fileList;
      // var path=this.data.folder+'/'+this.data.name+Math.random().toString();
      this.setData({
        fileList:files,
        // path
      }) 
    
  }, 
  

  
  // 上传图片
  uploadToCloud:function(event){
    var avatar=app.globalData.avatarUrl
    console.log('avatar：'+avatar)
    
    wx.cloud.init();
    // const { fileList } = this.data;
    // 设置文件存储格式
    var path=this.data.folder+'/'+this.data.name+Math.random().toString();
    this.setData({
      path
    })

    if (!this.data.fileList) {
      wx.showToast({ 
        title: '请选择图片', 
        icon: 'none' 
      });
        return
    } else {
      // 获取图片临时存数组中的数据
      var fileList=this.data.fileList;
      // console.log('图片'+fileList)
      const uploadTasks = fileList.map((file, index) => this.uploadFilePromise(`my-photo${index}.png`, file));
      Promise.all(uploadTasks)
        .then(data => {
          wx.showToast({ title: '上传成功', icon: 'none' });
          // item => ({ return :item.fileID })
           const newFileList = data.map(function(item){return item.fileID});
          // console.log('fileList'+fileList)
          // console.log('temUrlArr'+newFileList)
          this.setData({ 
            temUrlArr: newFileList , 
            fileList: [],
            
          });


          // db.collection('judge').add({
          //   data: {
          //     judge:event.detail.value.judge,
          //     src: this.data.temUrlArr, //只有当所有的图片都上传完毕后，这个值才能被设置，但是上传文件是一个异步的操作，你不知道他们什么时候把fileid返回，所以就得用promise.all
          //     value:this.data.value,
          //     avatar
          //   }
          // })
          console.log("this.data.options_id的值为："+this.data.options_id)
          db.collection('order').doc(this.data.options_id).update({   
              data:{
              judge_state:"已评价",
              judge:event.detail.value.judge,
              src: this.data.temUrlArr, //只有当所有的图片都上传完毕后，这个值才能被设置，但是上传文件是一个异步的操作，你不知道他们什么时候把fileid返回，所以就得用promise.all
              value:this.data.value,
              avatar
            },success:function(res){
              console.log("打入敌军内部")
              wx.hideLoading()
              wx.showToast({
                title: '评价成功',
              })
              wx.switchTab({
                url: '../index/index',
              })
            }
            
          })
            
        })
        .catch(error => {
          console.log(error)
      }).catch(e => {
          wx.showToast({ title: '上传失败', icon: 'none' });
          console.log(e);
        });
    }
  },
  
  uploadFilePromise(fileName, chooseResult) {
    return wx.cloud.uploadFile({
      cloudPath: this.data.path+fileName,
      filePath: chooseResult.path
    });
  },

  delUploaderImg:function(e){
    var newfile =this.data.fileList
    newfile.shift();
    this.setData({
      fileList:newfile
    })
  },
 

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      options_id:options.id
    })
    
    let that = this
    db.collection('order').doc(options.id).get({
      success:function(res){
        that.setData({
          box_src:res.data.box_src,
          box_name:res.data.box_name,
        })
      }
   })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})